#ifndef PACKING_H
#define PACKING_H

#include <list>
#include "rectangle.h"


class Packing
{
	public:
		Packing(int id, int maxW, int maxH);
		~Packing();

		void replace(Packing b);
		void insert(const Rectangle& r, int beforeID = 0);
		void offset(int x, int y);

		const std::list<Rectangle>& getTiles() const;
		int name() const;
		Rectangle getBounds() const;
		Rectangle getMaxBounds() const;


		typedef std::list<Rectangle> Tiles;



	protected:
		int id;
		int maxWidth;
		int maxHeight;
		int height;
		int width;


		std::list<Rectangle> tiles;

	private:
};



#endif // PACKING_H
